From b211e1ccd2885533b4158b21b2862ac79def1742 Mon Sep 17 00:00:00 2001 From: "Jan D." Date: Fri, 30 Sep 2011 09:42:26 +0200 Subject: [PATCH] * nsterm.m (windowDidResize): Call x_set_window_size only when ns_in_resize is true. Otherwise set pixelwidth/height and call change_frame_size. --- src/ChangeLog | 6 ++++++ src/nsterm.m | 18 +++++++++++++++++- 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/src/ChangeLog b/src/ChangeLog index ae4a4653381..2fcd1e757d8 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,9 @@ +2011-09-30 Jan Djärv + + * nsterm.m (windowDidResize): Call x_set_window_size only when + ns_in_resize is true. Otherwise set pixelwidth/height and + call change_frame_size (Bug#9628). + 2011-09-30 Paul Eggert Port --enable-checking=all to Fedora 14 x86-64. diff --git a/src/nsterm.m b/src/nsterm.m index 827404a2974..a2ae5e69512 100644 --- a/src/nsterm.m +++ b/src/nsterm.m @@ -5357,7 +5357,23 @@ ns_term_shutdown (int sig) a "windowDidResize" which calls x_set_window_size). */ #ifndef NS_IMPL_GNUSTEP if (cols > 0 && rows > 0) - x_set_window_size (emacsframe, 0, cols, rows); + { + if (ns_in_resize) + x_set_window_size (emacsframe, 0, cols, rows); + else + { + NSWindow *window = [self window]; + NSRect wr = [window frame]; + FRAME_PIXEL_WIDTH (emacsframe) = (int)wr.size.width + - emacsframe->border_width; + FRAME_PIXEL_HEIGHT (emacsframe) = (int)wr.size.height + - FRAME_NS_TITLEBAR_HEIGHT (emacsframe) + - FRAME_TOOLBAR_HEIGHT (emacsframe); + change_frame_size (emacsframe, rows, cols, 0, 0, 1); + SET_FRAME_GARBAGED (emacsframe); + cancel_mouse_face (emacsframe); + } + } #endif ns_send_appdefined (-1); -- 2.30.2